A portion of this disclosure recited in the specification contains material which is subject to copyright protection. Specifically, an Appendix is provided that includes source code instructions and data for a process by which the present invention is practiced in a computer system. The copyright owner has no objection to the facsimile reproduction of the specification as filed in the Patent and Trademark Office. Otherwise all copyright rights are reserved.
The present invention relates generally to the translation and transfer of information used in connection with broadcasts of video programs and more specifically to the translation of Interactive Program Guide (IPG) information into a data format that is efficient to use, transfer, store and display in an electronic program guide (EPG) interface in a data-augmented broadcast system.
Today there are many thousands of different broadcast programs. Each channel may provide hundreds of programs a year. Multiply this by the hundreds of channels that modern broadcast systems are able to provide to the end-viewer and the number of program choices becomes overwhelming. Not only does new technology provide more information in the number of traditional television programs, but the addition of digital information that uses the broadcast infrastructure as a distribution medium, and the user""s television, telephone, cable box, set-top box, remote control, etc., as the interface is increasing and provides ever-more information options to the viewer. In order to aid a viewer in choosing, and planning, which programs to watch, the broadcast delivery systems are providing augmenting data that describes, for example, the titles of upcoming programs, schedules, descriptions, mechanisms to record a program, mechanisms to alert the user when a desired program is about to be broadcast, etc. Although these data-augmented broadcasts are useful to the viewer, the sheer magnitude of the information, creates problems not only in presenting the information to the user, but also at the xe2x80x9cback endxe2x80x9d processing system, i.e., the broadcast data center and associated systems, involving transferring, storing and handling the information throughout the system.
One problem is that the program information must be handled by several different devices including the originating computer, a translating computer, data storage and handling computer, network routing, communication and formatting devices, broadcast devices, the viewers Integrated Receiver Device (IRD) and other devices. Each of these devices may need specialized knowledge about the data format of the program information. This is difficult because the program information is originated by an IPG Data Provider and is delivered to a broadcast data center for preparing the data for incorporation into a broadcast signal. Not only is the Data Provider""s format not well-suited for broadcast data center handling but there are many Data Providers, potentially each with a different format. Also, different manufacturers of devices in the broadcast data center and associated systems provide hardware and software that process data under varying formats. This makes the devices incompatible, or inefficient, at handling data of different formats.
Traditionally, a single application has been used to perform translation of data in broadcast data centers, and to perform data-handling of the untranslated and translated data. With this approach it is difficult to design an efficient distributed processing data center where different processes on different devices perform different data-handling tasks.
At different stages in the data handling, the broadcast data center must process and integrate the data, store and catalogue the data, check for errors, provide for automatic or manual modification of the data, prepare a subset of the data for broadcast and, finally, broadcast the data. Ultimately, the broadcast data center must integrate all of the information from the Data Providers into a single, simple interface for presentation to, and use by, the viewer. Typically, this interface is referred to as an Electronic Program Guide (EPG).
Thus, it is desirable to provide a system that handles IPG information uniformly and efficiently in a broadcast data center to generate an EPG and to provide efficient data processing, transfer and data-handling capabilities.
The present invention converts items of IPG data to data structures that are more universal to handle with popular platforms, operating systems, tools, utilities and other hardware and software processors and resources. The invention uses C++ class objects and structures. The objects and structures are placed into a Common Object Request Broker Architecture (CORBA) xe2x80x9cwrapper.xe2x80x9d This allows the objects to be handled by platform-independent interfaces so that the system is easily adaptable to different hardware devices and software functionality. Aspects of the invention include the translation from custom IPG formats to CORBA-wrapped C++ objects, the storage of the objects, transmission of the objects among devices, and data entry and error handling of information represented by the objects.
One embodiment of the invention provides a system for translating interactive program guide information used to describe one or more programs in a television broadcast, the system translates the information from a custom format to standard format, the method utilizing a computer, the computer including a processor coupled to a storage device and another device for receiving information, the method comprising the steps of defining one or more C++ classes for custom format information; using the computer to receive the custom format information; using the computer to translate the custom format information to one or more of the C++ classes; encapsulating the C++ classes in a CORBA-compliant wrapper to achieve the standard format; and transferring the standard format information to another device.
Another aspect of the invention provides for permanent storage of CORBA-wrapped IPG data.
Another aspect of the invention maintains data as specific C++ IPG data classes to provide a standardized format.
Another aspect of the invention provides for transmission of binary files via file transfer protocol (FTP) and high-level data link control protocols (HDLC).
Another aspect of the invention provides for distributed data-handling in a broadcast data center that uses CORBA-wrapped C++ objects. In a preferred embodiment, the following processes are performed as separate processes executing in one or more machines: receiving, processing and archiving input IPG files from a data provider; storing CORBA-wrapped IPG data; translating from an IPG data format to standardized CORBA-wrapped C++ object formats; and outputing messages to other devices in the system.